-
Notifications
You must be signed in to change notification settings - Fork 1.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
v4 multiple frames in polling body #959
v4 multiple frames in polling body #959
Conversation
…g a test with multiple messages in one HTTP body. Bump surefire to v3 so we can execute tests with Java modules.
…ss with binary packets
…into fix/v4-multiple-frames-in-http
The CI is failing because building would now need Java 11. If this is an issue let me know and I'll try to work around it. I think it's a fairly legit requirement these days though as it's already six years old by now :) |
Java 8 is used by around 33% of application world wide. So this version should be supported. Java 11 for testing is fine. |
Yes, Java 8 is still supported by the JAR itself. But the test I wrote uses some Java 11 classes. I can try to replace it with another HTTP client or remove the test itself. |
Run tests with Java 8.
I've refactored the test to run with Java 8. BTW I don't think that any tests are run at all, the tests are set to force skipped in the pom. At least I can't run them locally. |
So tests run for JDK 17 and 21. JDK 8 cannot work with the current approach of having a module-info compiled with JDK 9+ and the rest of the JAR compiled with JDK 8 because we need at least JDK 9+ to compile the module-info. The same is true with all other approaches that want to achieve Java module support while still supporting JDK8. The only solution I can see is drop compile testing with JDK8. BTW, do you want me to look into the tests? I enabled them locally but some of them fail, which is probably why they're disabled in the pom? |
JDK 17 is also fine for tests.
I would appreciate it. |
Explain about building with Java 11+ but JAR compatible with Java 8.
I looked into the build issues. For some reason spring beanutils 6.0 is used at compile time, which has a baseline of Java SDK 17+. The pom declares a dependency on spring beanutils 5.3 so it's unclear where this comes from. Could it be because it's scope is "provided"? |
This dependency has |
Ah yes, that makes sense. So the tests using this dependency fail on JDK 8/11 but consumers of the JAR on JDK 8 are fine as long as they use older versions. Then I think this PR is ready to merge.
… On 31. Jan 2024, at 07:52, Nikita Koksharov ***@***.***> wrote:
@unverbraucht <https://github.com/unverbraucht>
This dependency has provided scope. While the project is compiled for JDK8.
—
Reply to this email directly, view it on GitHub <#959 (comment)>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/AAOKAX4CWKQB4K4BZDBGHH3YRHSZLAVCNFSM6AAAAABCIWPM4SVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSMJYGQ4TEOJXGU>.
You are receiving this because you were mentioned.
|
Thanks for contribution! |
As mentioned in the other PR I still have this issue where a v4 client will send multiple requests in the body of one Polling HTTP request. Since only the first message is read the client times out waiting for ACK.
This PR adds parsing support for parsing multiple messages from one packet. I've also added a unit test for this since it was an easy way to test this. To use the new HTTP client in Java 9+ for the test I bumped Surefire to v3 (java 9+ support).
I also bumped general compile from Java 9 which is EOL to Java 11 which should still be supported.